home *** CD-ROM | disk | FTP | other *** search
/ Alles Voor Internet / Tout Pour Internet / alles voor internet.iso / MacInternet™ / Telnet / NCSA / tn3270 2.4d7 source / tn3270 / tn3270funcs.h < prev    next >
Text File  |  1992-04-17  |  22KB  |  640 lines

  1. /*
  2.  *  tn3270 for the Macintosh source code
  3.  *  Brown University Computing and Information Services
  4.  *  Version 2.4d7  April, 1992
  5.  *  Copyright (c) 1988, 1989, 1990, 1991, 1992 by Brown University and by
  6.  *  Peter John DiCamillo.
  7.  *
  8.  *  Permission is granted to any individual or institution to use, copy,
  9.  *  or redistribute the binary version of this software and its
  10.  *  documentation provided this notice and the copyright notices are
  11.  *  retained.  Permission is granted to any individual or non-profit
  12.  *  institution to use, copy, modify, or redistribute the source files
  13.  *  of this software provided this notice and the copyright notices are
  14.  *  retained.  This software may not be distributed for profit, either
  15.  *  in original form or in derivative works, nor can the source be
  16.  *  distributed to other than an individual or a non-profit institution.
  17.  *  Any  individual or group interested in seeing and/or using these
  18.  *  source files but who are prevented from doing so by the above
  19.  *  constraints should contact Don Wolfe, Assistant Vice-President for
  20.  *  Computer Systems at Brown University, (401) 863-7250, for possible
  21.  *  software licensing of the source developed at Brown.
  22.  *
  23.  *  Brown University and Peter John DiCamillo make no representations
  24.  *  about the suitability of this software for any purpose.
  25.  *
  26.  *  BROWN UNIVERSITY AND PETER JOHN DICAMILLO GIVE NO WARRANTY, EITHER
  27.  *  EXPRESS OR IMPLIED, FOR THE PROGRAM AND/OR DOCUMENTATION PROVIDED,
  28.  *  INCLUDING, WITHOUT LIMITATION, WARRANTY OF MERCHANTABILITY AND
  29.  *  WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE.
  30.  *
  31.  */
  32.  
  33. /* functions defined in api.c: */
  34.  
  35. void apiregister(char session, cnr *cp);
  36. void sppcregister(char session, cnr *cp);
  37. void ppcregister(char session, cnr *cp);
  38. pascal void informproc(PPCParamBlockPtr pb);
  39. pascal void accproc(PPCParamBlockPtr pb);
  40. pascal void readproc(PPCParamBlockPtr pb);
  41. pascal void disposproc(PPCParamBlockPtr pb);
  42. void deletesession(long refnum);
  43. void apideregister(char session, cnr *cp);
  44. void sppcderegister(char session, cnr *cp);
  45. void ppcderegister(char session, cnr *cp);
  46. void apinewmsg(void);
  47. void smgrmsg(void);
  48. void senderr(short myref, short code);
  49. void sendcap(void);
  50. void getsesscount(short *pend, short *curr);
  51. void sendvers(void);
  52. void sendid(void);
  53. void apiopensess(void);
  54. void apiopenerr(short code, cnr *cp);
  55. void apiopenresp(short code, cnr *cp);
  56. void sendconnstat(void);
  57. short getconnstat(unsigned long openid);
  58. OSErr apisend(short myRefNum, short toRefNum, 
  59.               unsigned long replyId, Handle theMessage,
  60.               unsigned short msgLength, unsigned long *msgId);
  61. pascal void writeproc(PPCParamBlockPtr pb);
  62. void sessmsg(void);
  63. void sendchar(void);
  64. void sessclose(cnr *cp);
  65. void closenotify(void);
  66. void closeresponse(short code, cnr *cp);
  67. void getbuffers(void);
  68. void writenotify(void);
  69. void writeresponse(unsigned char ccwop, cnr *cp);
  70. void senddatareq(void);
  71. void apisendser(unsigned char c, cnr *cp);
  72. void sendlocal(void);
  73.  
  74. /* functions defined in apistg.c: */
  75.  
  76. void initparamblocks(void);
  77. void initclientrecs(void);
  78. void initdatablocks(void);
  79. void endparamblocks(void);
  80. void endclientrecs(void);
  81. void enddatablocks(void);
  82. void endqueue(queueinfo *qp);
  83. void addparamblocks(void);
  84. void addclientrecs(void);
  85. void adddatablocks(void);
  86. void addqueue(queueinfo *qp);
  87. OSErr extendqueue(queueinfo *qp);
  88. PPCParamBlockPtr newparamblock(void);
  89. clientinfo * newclientrec(void);
  90. datainfo * newdatablock(void);
  91. qctl * getnew(queueinfo *qp);
  92. void disposparamblock(PPCParamBlockPtr p);
  93. void disposclientrec(clientinfo *p);
  94. void disposdatarec(datainfo *p);
  95. void disposelem(unsigned char *s, queueinfo *qp);
  96.  
  97. /* functions defined in attnmenu.c: */
  98.  
  99. pascal void attnmenu(short msg, MenuHandle mhdl, Rect *mr,
  100.                      Point hit, short *which);
  101. pascal void attndlg(WindowPtr dlgwindow, short item);
  102. pascal void colorbox(WindowPtr wp, short inum);
  103.  
  104. /* functions defined in bgproc.a: */
  105.  
  106. ProcPtr bgproc(void);
  107. void sndproc(SndChannelPtr chan, SndCommand cmd);
  108. void nmproc(NMRecPtr nmReqPtr);
  109. long GetA5(void);
  110.  
  111. /* functions defined in cdialog.c: */
  112.  
  113. void colordlg(cnr *cp);
  114. void getclr(DialogPtr dlgptr, unsigned char *cname,
  115.             RGBColor *cin, cnr *cp);
  116. void defcbox(DialogPtr dlgptr, cnr *cp);
  117. void updcolors(DialogPtr dlgptr);
  118.  
  119. /* functions defined in crcf.c: */
  120.  
  121. int crcf(unsigned char *str, short len, unsigned short initchk);
  122. void gentab(unsigned short *array);
  123.  
  124. /* functions defined in dialogs.c: */
  125.  
  126. void aboutdlg(void);
  127. void stginfo(cnr *cp);
  128. void attrdlg(cnr *cp);
  129. void hostcfdlg(void);
  130. void sethostcf(DialogPtr dlgptr, unsigned char *hname,
  131.                unsigned char *wtitle, char sdefault);
  132. void specdlg(void);
  133. void setspec(DialogPtr dlgptr, unsigned char *hname, char sflg,
  134.              unsigned char timeout, unsigned char retries,
  135.              char debug);
  136. OSErr hostdlg(unsigned char *s);
  137. void featdlg(cnr *cp);
  138. void setfeat(DialogPtr dlgptr, char d_insreset, char d_impnull,
  139.              char d_repnull, char d_digitpfk, char d_ext3270, 
  140.              char d_std_brack);
  141. short savedlg(char update, cnr *cp);
  142. void clickdlg(cnr *cp);
  143. void stgalert(unsigned char *kind, unsigned char *routine,
  144.               long amount);
  145. void seterr(void);
  146. void dbdlg(unsigned char *string);
  147. void srvdlg(char flag);
  148. void note_err(short code, cnr *cp);
  149. void stoperr(short code, cnr *cp);
  150. void stopterr(unsigned char *text, cnr *cp);
  151. OSErr notifymsg(unsigned char *msg);
  152. void nmend(NMRecPtr nmReqPtr);
  153. pascal Boolean DlgFilter(DialogPtr dlg, EventRecord *eventptr,
  154.                                 short *itemptr);
  155. pascal Boolean fmtDlgFilter(DialogPtr dlg, EventRecord *eventptr,
  156.                                    short *itemptr);
  157. void arrowinc(DialogPtr dlg, short item, Handle gitem, Rect *increct,
  158.               Rect *decrect, short min, short max);
  159. pascal Boolean ListDlgFilter(DialogPtr dlg, EventRecord *eventptr,
  160.                                     short *itemptr);
  161. void xfdlg(short code, unsigned char *msg1, unsigned char *msg2,
  162.            unsigned char *msg3, unsigned char *msg4, cnr *cp);
  163. void cf_fmtdlg(void);
  164. setcffmt(DialogPtr dlgptr, short itemHit, short dfltptsize, char windmax,
  165.          short altptsize, short altrows, short altcols, char customflag,
  166.          short custrows, short custcols, char savewpos);
  167. pascal void arrowproc(WindowPtr dlgwindow, short item);
  168. void fmtdlg(cnr *cp);
  169. void setfmt(DialogPtr dlgptr, short dfltptsize, char windmax,
  170.             short altptsize, char savewpos); 
  171. void miscdlg(cnr *cp);
  172. void dlgplaysound(unsigned char *sndname);
  173. pascal void listproc(DialogPtr dialog, short itemNo);
  174. pascal void misctext(WindowPtr wp, short inum);
  175. OSErr dlgnewmap(GrafPtr wp, Rect *box);
  176. void getsndinfo(Handle theResource, short *theID, ResType *theType,
  177.                 unsigned char *name);
  178. Handle getsndresource(unsigned char *name);
  179. void crsetdlg(cnr *cp);
  180. void psdlg(cnr *cp);
  181. void conndlg(cnr *cp);
  182. void msgappend(unsigned char *buffer, short length, unsigned char *new); 
  183. OSErr getapcr(OSType *cr);
  184. void cf_featdlg(void);
  185. showcffeat(DialogPtr dlgptr, unsigned char *cvs,
  186.            char ext, char graphics, char color);
  187. void setit(short item, DialogPtr dlgptr, short code);
  188. void setactive(short item, DialogPtr dlgptr, char flag);
  189. short wants_to_quit(cnr *cp);
  190. void dFullAlt(short kShort, cnr *cp);
  191. void settext(DialogPtr dlgptr, short item, unsigned char *text);
  192. void ctrwindow(GrafPtr wp);
  193. void ctralrt(short a);
  194. void framedflt(DialogPtr dlgptr);
  195. void OutlineButton(ControlHandle button);
  196. void arrowcursor(void);
  197.  
  198. /* functions defined in grafterm.c: */
  199.  
  200. void macinit(void);
  201. OSErr ioinit(void);
  202. void hnd_init(void);
  203. void newlogin(char apiopen,
  204.               char fileopen, unsigned char *fname, short vnum,
  205.               unsigned char oldformat);
  206. void removeconnection(cnr *cp);
  207. void login_init(cnr *cp);
  208. void sessionlgout(char keep, cnr *cp);
  209. OSErr createwindow(cnr *cp);
  210. void removewindow(cnr *cp);
  211. void removebitmaps(cnr *cp);
  212. void restorectab(void);
  213. OSErr newmode(char mode, char create, cnr *cp);
  214. OSErr alignbitmaps(cnr *cp);
  215. void setmode(short dsprows, short dspcols,
  216.              short ptsize, short wmax, cnr *cp);
  217. void newdepth(cnr *cp);
  218. void ioend(void);
  219. void macend(void);
  220. void hndmac(void);
  221. void dozoom(WindowPtr wp, short code);
  222. void kbdevent(EventRecord *myEvent);
  223. short zoomstate(cnr *cp);
  224. cnr *front_cp(void);
  225. char mywindow(GrafPtr whichWindow, cnr** cpp);
  226. char myxfwindow(GrafPtr whichWindow, cnr** cpp);
  227. void chkpx(cnr *cp);
  228. void fixcolors(PaletteHandle p, cnr *cp);
  229. void mapcolor(RGBColor *in, RGBColor *out, cnr *cp);
  230. void actualcolor(RGBColor *in, RGBColor *out, cnr *cp);
  231. void updevent(GrafPtr msgptr);
  232. void mkPix(GrafPtr gptr, unsigned char **mptr, Rect *b_rect,
  233.            GDHandle gdev, cnr *cp);
  234. Ptr myNewPtr(Size s, cnr *cp);
  235. int updCTab(cnr *cp);
  236. int newCTab(cnr *cp);
  237. void rmPix(GrafPtr gptr, Ptr mptr);
  238. void newinvbw(cnr *cp);
  239. void newbackcolor(cnr *cp);
  240. void setgdev(cnr *cp);
  241. void resetgdev(void);
  242. void adjfmt(char *changed, char *windmax, short *dfltptsize,
  243.             short *altptsize, short *altrows, short *altcols);
  244. void newstdfont(short f, cnr *cp);
  245. void updwindpos(cnr *cp);
  246.  
  247. /* functions defined in hndkbd.c: */
  248.  
  249. void hndkbd(unsigned char chr, unsigned char shift, cnr *cp);
  250. void datakey(unsigned char val, unsigned char geflag,
  251.              char paste, cnr *cp);
  252. void attnkey(unsigned char val, char paste, cnr *cp);
  253. void rdmcmd(unsigned char val, cnr *cp);
  254. void rdmacmd(unsigned char val, cnr *cp);
  255. void funckey(unsigned char val, char paste, cnr *cp);
  256. short getattr(short offset, cnr *cp);
  257. short firstattr(cnr *cp);
  258. void rdmod(char lp_read, cnr *cp);
  259. void rdbuff(cnr *cp);
  260. void addeor(cnr *cp);
  261. short cinsert(cnr *cp);
  262. void nullreplace(cnr *cp);
  263. void senddata(char lockflag, cnr *cp);
  264. void kerr(short code, cnr *cp);
  265. void kbnew(unsigned char chr, cnr *cp);
  266. void ebcaddr(unsigned char *buf, unsigned short addr, cnr *cp);
  267.  
  268. /* functions defined in menu.c: */
  269.  
  270. void menu_upd(void);
  271. void docommand(long mResult, char append);
  272. void clickattn(short itm, cnr *cp);
  273. void appl_menu(void);
  274. void enable_menu_item(MenuHandle theMenu,
  275.                       short item,
  276.                       char enableflag);
  277. void new_connmenu(void);
  278. Boolean sessnamecomp(cnr *a, cnr *b);
  279.  
  280. /* functions defined in prt.c: */
  281.  
  282. void pgsetup(void);
  283. void prscreen(cnr *cp);
  284. void prtdraw(cnr *cp);
  285. void setdoctitle(unsigned char *s);
  286.  
  287. /* functions defined in saio.c */
  288. OSErr sa_init(void);
  289. void sadflthost(unsigned char *s);
  290. long sagetrsrv(cnr *cp);
  291. void salgin(cnr *cp);
  292. void sendinit(unsigned char wcc, cnr *cp);
  293. void salgout(char keep, cnr *cp);
  294. void sa_end(void);
  295. void sawrite(unsigned char *dptr, short dsize, cnr *cp);
  296. void sain(unsigned char asc, unsigned char chr,
  297.            unsigned char shift, cnr *cp);
  298. void sa_reset(cnr *cp);
  299. void saevent(void);
  300. void sadata(unsigned char *sptr, short slen,
  301.             char init, char end, cnr *cp);
  302. void sakbin(unsigned char asc, unsigned char chr,
  303.              unsigned char shift, cnr *cp);    
  304.  
  305. /* functions defined in scrap.c: */
  306.  
  307. OSErr newscrap(cnr *cp);
  308. void removescrap(void);
  309. void importscrap(void);
  310. void exportscrap(char endflag);
  311. void doexport(void);
  312. void expfield(scrapline *sp, short offset, short len);
  313. unsigned char alatrans(unsigned char dc, unsigned char chr);
  314. void expbreak(void);
  315. void expendline(void);
  316. void myPutScrap(short len, unsigned char *data);
  317. void scrapcut(char append, cnr *cp);
  318. void scrapcopy(char append, cnr *cp);
  319. void scrappaste(cnr *cp);
  320. void scrapclear(cnr *cp);
  321. void scrapcopytable(char append, cnr *cp);
  322. void scrapcopytext(char append, cnr *cp);
  323. void scopy(char append, cnr *cp);
  324. void dselchar(unsigned short start, unsigned short attroff, cnr *cp);
  325. void selclear(unsigned char fillchar, cnr *cp);
  326.  
  327. /* functions defined in serscrn.c: */
  328.  
  329. void putscr(unsigned char *s, short slen, char wr, cnr *cp);
  330. void scrollscrn(cnr *cp);
  331. void revscroll(cnr *cp);
  332. void putsrv(unsigned char *s, short slen, char inp, cnr *cp);
  333. void srvnewchar(unsigned char c, cnr *cp);
  334. void srvtext(unsigned char *text, unsigned short *attr,
  335.             short len, cnr *cp);
  336. int srvproc(unsigned char *text, unsigned short *attr,
  337.             short len, cnr *cp);
  338. void srvscroll(cnr *cp);
  339. void srvswitch(cnr *cp);
  340.  
  341. /* functions defined in serstub.c: */
  342.  
  343. OSErr ser_init(void);
  344. long sergetrsrv(cnr *cp);
  345. void serattn(cnr *cp);
  346. void ser_end(void);
  347. void serout(unsigned char c);
  348. void serevent(void);
  349. void serlgin(cnr *cp);
  350. void serin(unsigned char c, unsigned char shift, cnr *cp);
  351. void sersrvlgout(char keep);
  352. void serdflthost(unsigned char *s);
  353. void serlgout(char keep, cnr *cp);
  354. void sersendinit(char init);
  355.  
  356. /* functions defined in settings.c: */
  357.  
  358. void read_settings(char initflg, cnr *cp);
  359. pascal short sfgethook(short MySFitem, DialogPtr theDialog);
  360. void use_settings(unsigned char *fname, short vnum, cnr *cp);
  361. short get_settings(unsigned char * fname, short vnum,
  362.                     unsigned char *oldformat);
  363. short chrval(unsigned char chr);
  364. short setval(unsigned char * nameptr,
  365.              short namelen,
  366.              unsigned char * valueptr,
  367.              short valuelen);
  368. OSErr alloc_copy(unsigned char **dest,
  369.                  unsigned char *source,
  370.                  short len);
  371. short ptsizeproc(void *resultptr);
  372. short rowproc(void *resultptr);
  373. short colproc(void *resultptr);
  374. short max2proc(void *resultptr);
  375. short pfproc(void *resultptr);
  376. OSErr read_old_format(char *fname, short vnum);
  377. void copyrdstr(unsigned char *dest, unsigned char *source);
  378. void settings_update(settings_list *sl,
  379.                      unsigned char *wtitle,
  380.                      unsigned char *kybdname,
  381.                      unsigned char *nlname,
  382.                      unsigned char *sndname, cnr* cp);
  383. void write_settings(cnr *cp);
  384. short new_settings(cnr *cp);
  385. OSErr fsrdopen(unsigned char *fname, short vref, short *fref);
  386. void copyconfig(settings_list *sl, unsigned char *hostname,
  387.                 unsigned char *wtitle);
  388.  
  389. /* functions defined in switcher.c: */
  390.  
  391. void sw_suspend(long message);
  392. void sw_resume(long message);
  393. Boolean sw_active(void);
  394. WorldTable * get_world(void);
  395. void sw_proc(void);
  396.  
  397. /* functions defined in tcpevent.c: */
  398.  
  399. void tcpevent(void);
  400. void myStask(void);
  401. cnr *port_to_cp(int port);
  402. void ftpnewstat(void);
  403.  
  404. /* functions defined in tcpio.c: */
  405.  
  406. OSErr tcp_init(void);
  407. int initipnum(int dummy);
  408. short getipinfo(void);
  409. OSErr promptip(short ro);
  410. void updhostrsc(unsigned char *s);
  411. void showdrv(void);
  412. void calcmask(long *mask);
  413. void tcpdflthost(unsigned char *s);
  414. long tcpgetrsrv(cnr *cp);
  415. void tcplgin(cnr *cp);
  416. void tcplgout(char keep, cnr *cp);
  417. void tcp_end(void);
  418. void tcpwrite(unsigned char *dptr, short dsize, cnr *cp);
  419. void tcpin(unsigned char asc, unsigned char chr,
  420.            unsigned char shift, cnr *cp);
  421. void tcp_reset(cnr *cp);
  422. void ATuld(void);
  423. OSErr NBld(void);
  424. void NBuld(void);
  425. OSErr nblookup(unsigned char *object, unsigned char *type,
  426.                unsigned char *zone, NTElement *result, short *count);
  427. OSErr atsend(AddrBlock *ablock, unsigned char *sendaddr,
  428.              short sendlen, BDSPtr retbds);
  429. OSErr kpdynamip(long *ipnum);
  430. OSErr kpregister(unsigned char *ipnum);
  431. void kpunregister(void);
  432. OSErr openatdrv(void);
  433. int isHFS(void);
  434. cvtmask(long mask, unsigned char *s);
  435. Boolean decodeIPnum(unsigned char *s, unsigned char *myipnum);
  436. void ShowAllErrors(void);
  437. void NetError(int code);
  438. void OtherError(unsigned char *mess1, unsigned char *mess2);
  439. void tcpinfo(cnr *cp);
  440. int tcp_session(cnr *cp);
  441. short rdportnum(cnr *cp);
  442. OSErr getstr(unsigned char *s, short lim, short num);
  443. void sysvol(short reset);
  444. void tcpquit(OSErr rc);
  445. void quit(void);
  446. void DisplayMacBinary(void);
  447. void checkhostfile(void);
  448. void userftpd(int code, int myport);
  449. void ftpmess(unsigned char *s);
  450.  
  451. /* functions defined in telnet.c: */
  452.  
  453. void telrcv(register unsigned char *sbp,
  454.             register short scc, cnr *cp);
  455. void printoption(unsigned char *direction, unsigned char *fmt,
  456.                  short option, short what);
  457. void willoption(short option, short reply, cnr *cp);
  458. void wontoption(short option, short reply, cnr *cp);
  459. void dooption(short option, cnr *cp);
  460. void suboption(cnr *cp);
  461. void SetIn3270(cnr *cp);
  462. void printsub(unsigned char *direction,
  463.               unsigned char *pointer,
  464.               short length);
  465. void tcpdata(unsigned char *sptr, short slen,
  466.              char init, char end, cnr *cp);
  467. void tcpkbin(unsigned char asc, unsigned char chr,
  468.              unsigned char shift, cnr *cp);
  469.  
  470. /* functions defined in util.c: */
  471.  
  472. void tcpmemcpy(unsigned char *dest, unsigned char *src,
  473.                short *len, char tcpflg);
  474. void GetGlobalRect(WindowPtr window, Rect *globalRect);
  475. void defxtab(unsigned char **xtabinfo, unsigned char *xtab);
  476. void getdeskrect(Rect *r);
  477. unsigned char getmodel(short rows, short cols, cnr *cp);
  478. void adjmove(Rect *wr);
  479. GDHandle myGetMaxDevice(Rect *globalRect);
  480. void def_sessname(cnr *cp);
  481. void get_sessname(unsigned char *sname, cnr *cp);
  482. short cfmapsize(char which, char color);
  483. writeinfo *new_writeinfo(cnr *cp);
  484. void show_writeinfo(cnr *cp);
  485. void putln (unsigned char *s);
  486. OSErr seropen(void);
  487. OSErr serchr(unsigned char c);
  488. void dbgdump(unsigned char *msg, unsigned char *data, short len);
  489. void dbgwait(void);
  490.  
  491. /* functions defined in vmxfer.c: */
  492.  
  493. void vmxfer(cnr *cp);
  494. void chkdata(unsigned char *buf, short len, unsigned char *chk);
  495. void excmmd(cnr *cp);
  496. void setrc(short code, cnr *cp);
  497. void rdopen(cnr *cp);
  498. void rdclose(cnr *cp);
  499. void rdblock(cnr *cp);
  500. void typstat(cnr *cp);
  501. void wropen(cnr *cp);
  502. void wrclose(cnr *cp);
  503. int xfprtclose(cnr *cp);
  504. void wrblock(cnr *cp);
  505. void exitcmd(cnr *cp);
  506. void verscmd(cnr *cp);
  507. void xlcmd(cnr *cp);
  508. void trtime(cnr *cp);
  509. void getrd(unsigned char *macname, cnr *cp);
  510. pascal Boolean onlydata(FileParam *_pb);
  511. void getwr(unsigned char *suggid, unsigned char *macname, cnr *cp);
  512. unsigned char *currvname(cnr *cp);
  513. void getinfo(long *fsize, struct DateTimeRec *fdate, cnr *cp);
  514. OSErr settime(struct DateTimeRec *fdate, struct mbhdr *mh, cnr *cp);
  515. void xfrst(cnr *cp);
  516. void xfinit(cnr *cp);
  517. void datachr(short *rdoff, unsigned char c, cnr *cp);
  518. long chartolong(unsigned char *str);
  519. OSErr mbwrite(long *count, unsigned char *data,
  520.               unsigned long offset, cnr *cp);
  521. OSErr prtwrite(long *count, unsigned char *addr, cnr *cp);
  522. void prtline(unsigned char *s, cnr *cp);
  523. void maketitles(unsigned char *tt1, unsigned char *tt2,
  524.                 int *tt1len, cnr *cp);
  525.  
  526. /* functions defined in writescr.c: */
  527.  
  528. void invldscr(cnr *cp);
  529. void checkpos(cnr *);
  530. void writescr(char printflag, cnr *cp);
  531. void newcur(cnr *cp);
  532. void newchar(short offset, unsigned char value,
  533.              short atr, short fattr, cnr *cp);
  534. void dchar(short offset, short len, short fattr, cnr *cp);
  535. void seldchar(short offset, short len, short selattr,
  536.               short fattr, cnr *cp);
  537. void newwrite(cnr *cp);
  538. void dfield(short offset, short count, short fattr, short cattr,
  539.             char g, cnr *cp);
  540. void calctrim(short *offset, short *count, cnr *cp);
  541. void getdspatr(unsigned char *atr_result,
  542.                unsigned char *trim_result,
  543.                RGBColor *color_result,
  544.                register unsigned short cattr,
  545.                register unsigned short fattr,
  546.                cnr *cp);
  547. void txtfield(short offset, short count, unsigned char attrbits,
  548.               char prot, char fieldfont, cnr *cp);
  549. void myDrawText(register unsigned char *textBuf,
  550.                 register short firstByte,
  551.                 register short byteCount,
  552.                 short font, char prot, cnr *cp);
  553. void ALADrawText(unsigned char *textBuf,
  554.                  short firstByte, short byteCount);
  555. short alatype(unsigned char *s);
  556. void movechr(short n);
  557. void drawdc(register unsigned char dc,
  558.             register unsigned char c);
  559. void statline(cnr *cp);
  560. void newstat(cnr *cp);
  561. void beep(cnr *cp);
  562. OSErr mybeep(cnr *cp);
  563. void sndend(void);
  564. void drawcurs(char restore, cnr *cp);
  565. void defcursor(short cx, short cy, cnr *cp);
  566. void justGrowIcon(char rgnok, cnr *cp);
  567. void xfGrowIcon(cnr *cp);
  568. void InitClip(cnr *cp);
  569. void mousesel(short function, short location,
  570.               char doubleflag, cnr *cp);
  571. void invsel(selcoord *r, cnr *cp);
  572.  
  573. /* functions defined in writesf.c: */
  574.  
  575. void writesf(unsigned char *cmd,
  576.              short len,
  577.              char init,
  578.              cnr *cp);
  579. void intwsf(unsigned char id,
  580.             short len,
  581.             unsigned char *data,
  582.             char *rdflag,
  583.             cnr *cp);
  584. void wsfrpq(short len, unsigned char *data, char shortrsp, cnr *cp);
  585. void wsfadd(short num, short *len, char shortrsp, cnr *cp);
  586. void def_ua(uareply *resptr, cnr *cp);
  587. void def_ip(ipreply *resptr, cnr *cp);
  588. void writegf(unsigned char *data, short len, cnr *cp);
  589. void grpparse(unsigned char c, cnr *cp);
  590. void exdraw(unsigned char *opdata, short len, cnr *cp);
  591. void grcparse(unsigned char c, cnr *cp);
  592. void exctl(unsigned char *opdata, short len, cnr *cp);
  593. void clrpict(cnr *cp);
  594. void initpict(cnr *cp);
  595. void showpict(cnr *cp);
  596. short sx(short x, cnr *cp);
  597. short sy(short y, cnr *cp);
  598. void myLineTo(short x, short y, cnr *cp);
  599. void myDrawString(unsigned char *s, cnr *cp);
  600. void setrgb(short *newcolor, unsigned char code, cnr *cp);
  601. void setmark(unsigned char *mark, unsigned char code, cnr *cp);
  602. void setpat(PatPtr pat, unsigned char code, cnr *cp);
  603. void setmixmode(short mode, cnr *cp);
  604. void openpictfile(cnr *cp);
  605. void closepictfile(cnr *cp);
  606. pascal void myStdPutPic(Ptr dataPtr, unsigned short byteCount);
  607. void hexdump(unsigned char *data, short len, cnr *cp);
  608.  
  609. /* functions defined in writetm.c: */
  610.  
  611. void writetm(unsigned char *cmd, short len, char init, cnr *cp);
  612. void clrscn(cnr *cp);
  613. void intwcc(unsigned char ew, unsigned char wcc, cnr *cp);
  614. void endwcc(cnr *cp);
  615. void checkfmt(cnr *cp);
  616. void intsf(unsigned char attr, cnr *cp);
  617. void intsba(unsigned char a1, unsigned char a2, cnr *cp);
  618. void intic(cnr *cp);
  619. void intpt(cnr *cp);
  620. void intra(unsigned char a1, unsigned char a2,
  621.            unsigned char c, unsigned char g, cnr *cp);
  622. void inteua(unsigned char a1, unsigned char a2, cnr *cp);
  623. void intsfe(unsigned char *field, unsigned char pairs, cnr *cp);
  624. void intmf(unsigned char *field, unsigned char pairs, cnr *cp);
  625. void intsa(unsigned char type, unsigned char value, cnr *cp);
  626. unsigned short intpairs(unsigned short atr, unsigned char *field,
  627.               unsigned char pairs, cnr *cp);
  628. void intdata(unsigned char code, unsigned char geflag, cnr *cp);
  629. void setnull(cnr *cp);
  630. short cvtadr(unsigned char a1, unsigned char a2, cnr *cp);
  631. void orderinit(void);
  632. void setrectsel(short offset1, short offset2, cnr *cp);
  633. void settextsel(short offset1, short offset2, char invert, cnr *cp);
  634. void addfieldsel(cnr *cp);
  635. void resetsel(cnr *cp);
  636. void checksel(cnr *cp);
  637. void addsel(short *downloc, cnr *cp);
  638. void wordadj(short *loc1, short *loc2, char endadj, cnr *cp);
  639. short atspace(short loc, cnr *cp);
  640.